package DAOs;

import java.io.IOException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import Entidades.EntidadeProduto;
import Entidades.EntidadeVenda;
import Entidades.EntidadeVendedor;
import Utils.UtilCaminhoArquivosTexto;
import Utils.UtilLeitorDeArquivos;
import Utils.UtilTransformaStringEmCalendar;

public class DAOVenda implements DAOItem{
	private List<String[]> dadosFiltadros;
	
	public void recupera(String caminhoArquivoTexto) throws IOException, ParseException{
		dadosFiltadros = new ArrayList<String[]>();
		dadosFiltadros = UtilLeitorDeArquivos.configuraDadosDoArquivo(caminhoArquivoTexto);
		criaVendas(dadosFiltadros);
	}
	
	public void atualiza(String caminhoArquivoTexto) throws IOException, ParseException{
		recupera(caminhoArquivoTexto);
		UtilLeitorDeArquivos.atualizaBD(dadosFiltadros, UtilCaminhoArquivosTexto.txtVendasBD);
	}
	
	private void criaVendas(List<String[]> dadosFiltadros) throws ParseException{
		for(String[] strs : dadosFiltadros){
			Calendar data = UtilTransformaStringEmCalendar.transformaStringEmCalendar(strs[0]);
			EntidadeProduto produto = DAOProduto.getProdutos().get(strs[2]);
			EntidadeVendedor vendedor = DAOVendedor.getVendedores().get(strs[3]);
			EntidadeVenda venda = new EntidadeVenda(data, Integer.parseInt(strs[1]), produto);
			vendedor.add(venda);
		}
	}
	
}
